home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / smail-3.1.28 / src / main.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-11  |  2.7 KB  |  86 lines

  1. /* @(#)src/main.h    1.5 7/11/92 11:49:41 */
  2.  
  3. /*
  4.  *    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
  5.  *    Copyright (C) 1992  Ronald S. Karr
  6.  * 
  7.  * See the file COPYING, distributed with smail, for restriction
  8.  * and warranty information.
  9.  */
  10.  
  11. /*
  12.  * main.h:
  13.  *    interface file for functions in main.c.
  14.  */
  15.  
  16. #ifndef MAIN_H
  17. #define MAIN_H
  18.  
  19. /* functions defined in main.c */
  20. void main();
  21.  
  22. /* macros used in main.c */
  23.  
  24. /* values for operation_mode */
  25. enum op_mode {
  26.     MODE_DEFAULT,        /* default operation */
  27.     PRINT_VERSION,        /* print the current smail version */
  28.     DAEMON_MODE,        /* operate as a daemon */
  29.     DELIVER_MAIL,        /* deliver mail normally */
  30.     FREEZE_CONFIG,        /* freeze a config file */
  31.     PRINT_QUEUE,        /* print the spool directories */
  32.     REBUILD_ALIASES,        /* rebuild the system alias file */
  33.     SMTP_MODE,            /* read smtp on standard input */
  34.     BATCH_SMTP_MODE,        /* batch smtp on standard input */
  35.     TEST_MODE,            /* addressing parsing tests */
  36.     VERIFY_ADDRS,        /* verify use of addresses */
  37.     NOOP_MODE,            /* do nothing (run queue, if applicable) */
  38.     ROGUE_MODE,            /* display the rogue tombstone mode */
  39.     COPYING_MODE,        /* print the COPYING file */
  40.     PRINT_VARS_MODE,        /* print configuration variables */
  41. };
  42.  
  43. /* values for error_processing */
  44. enum er_proc {
  45.     ERROR_DEFAULT,        /* use defaults */
  46.     DEV_NULL,            /* don't say anything on errors */
  47.     MAIL_BACK,            /* send mail back to sender */
  48.     TERMINAL,            /* write to stderr */
  49.     WRITE_BACK,            /* write using write(1) */
  50. };
  51.  
  52. /* mode used in delivering mail */
  53. enum deliver_mode {
  54.     DELIVER_DEFAULT,        /* use defaults */
  55.     FOREGROUND,            /* deliver mail in foreground */
  56.     BACKGROUND,            /* deliver mail in background */
  57.     QUEUE_MESSAGE,        /* don't perform delivery, just queue */
  58. };
  59.  
  60. /* types of operation based on program name */
  61. enum prog_type {
  62.     PROG_SMAIL,            /* normal operation */
  63.     PROG_RMAIL,            /* invoked as "rmail" */
  64.     PROG_PATHTO,        /* invoked as "pathto" */
  65.     PROG_OPTTO,            /* invoked as "optto" */
  66.     PROG_UUPATH,        /* invoked as "uupath" */
  67.     PROG_NEWALIASES,        /* invoked as "newaliases" */
  68.     PROG_SMAILCONF,        /* invoked as "smailconf" */
  69.     PROG_MAILQ,            /* invoked as "mailq" */
  70.     PROG_RUNQUEUE,        /* invoked as "runqueue" */
  71.     PROG_RSMTP,            /* invoked as "rsmtp" */
  72.     PROG_SMTPD,            /* invoked as "smtpd" */
  73.     PROG_ROGUE,            /* invoked as "rogue" */
  74.     PROG_EXECMAIL,        /* invoked as "execmail" (for SCO XENIX) */
  75. };
  76.  
  77. /* how dots are treated on incoming messages */
  78. enum dot_usage {
  79.     NO_DOT_PROTOCOL,        /* don't do anything special with dots */
  80.     HIDDEN_DOTS,        /* use the hidden-dot algorithm on input */
  81.     DOT_ENDS_MESSAGE,        /* a dot on a line by itself ends message */
  82.     SMTP_DOTS,            /* like HIDDEN_DOTS, though EOF is error */
  83. };
  84.  
  85. #endif    /* MAIN_H */
  86.